/*
 * @Author: mayufo
 * @Date: 2020-02-14 13:51:04
 * @LastEditTime : 2020-02-14 17:08:58
 * @Description: 路由
 * @FilePath: /node/04/code/crud-express/router.js
 */

// 路由
var express = require('express')
var Student = require('./student')

var router = express.Router()

/**
 * @description: 渲染首页
 * @param {type} 
 * @return: 
 */
router.get('/',  (req, res) => {
    Student.getData((err, students) => {
        res.render('index.html', {
            list: [
                'javascript',
                'node',
                'vue',
                'node'
            ],
            students: students
        }) 
    })
})

/**
 * @description: 去增加学生页面
 * @param {type} 
 * @return: 
 */
router.get('/add', (req, res) => {
    res.render('add.html', {
        title: '添加学生'
    })
})

/**
 * @description: 提交添加的学生
 * @param {type} 
 * @return: 
 */
router.post('/add', (req, res) => {
    Student.addStduent(req.body, (err) => {
        if (err) {
            return res.status(500).send('Error')
        }
        res.redirect('/')
    })
})

/**
 * @description: 去编辑学生页面
 * @param {type} 
 * @return: 
 */
router.get('/edit', (req, res) => {
    Student.getStudent(req.query.id, (err, data) => {
        if (err) {
            return res.status(500).send('Error')
        }
        res.render('edit.html', {
            data,
            title: '编辑学生'
        })
    })
})

/**
 * @description: 提交编辑学生
 * @param {type} 
 * @return: 
 */
router.post('/edit', (req, res) => {
    Student.editStudent(req.body, (err) => {
      if (err) {
          return res.status(500).send('Error')
      }  
      res.redirect('/')
    })
})

/**
 * @description: 删除
 * @param {type} 
 * @return: 
 */
router.get('/delete', (req, res) => {
    Student.deleteStudent(req.query.id, (err) => {
      if (err) {
          return res.status(500).send('Error')
      }  
      res.redirect('/')
    })
})
module.exports = router